#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
//int main()
//{
//	char arr1[100];
//	char arr2[100];
//	scanf("%s", arr1);
//	scanf("%s", arr2);
//	strcat(arr1, arr2);
//	printf("%s", arr1);
//	return 0;
//}
//typedef struct numb
//{
//	int a;
//	int b;
//}numb;
//int CompareRational(numb a, numb b)
//{
//	if (a.a < b.a)
//		return -1;
//	if (a.a > b.a)
//		return 1;
//	else
//		return 0;
//}
//int main()
//{
//	numb a = { 0,0 };
//	numb b = { 0,0 };
//	scanf("%d/%d   %d/%d", &a.a, &a.b, &b.a, &b.b);
//	char ch;
//	switch (CompareRational(a, b))
//	{
//	case 1:
//		ch = '>';
//		break;
//	case -1:
//		ch = '<';
//		break;
//	case 0:
//		ch = '=';
//		break;
//	}
//	printf("%d/%d %c %d/%d", a.a, a.b,ch, b.a, b.b);
//}
//typedef struct voctor
//{
//	double x;
//	double y;
//}voctor;
//int main()
//{
//	voctor v1;
//	voctor v2;
//	scanf("%lf%lf%lf%lf", &v1.x, &v1.y, &v2.x, &v2.y);
//	printf("(%.1f,%.1f)", v1.x + v2.x, v1.y + v2.y);
//	return 0;
//}
//char* Word(char(*p)[20])
//{
//	char* ptr = (char*)p;
//	if (*ptr != '\0')
//	{
//		ptr++;
//	}
//	return ptr-1;
//}
//int main()
//{
//	char arr[8][20] = {0};
//	
//	int i = 0;
//	for ( i = 0;i < 4;i++)
//	{
//		gets(arr[i]);
//	}
//	for ( i = 1;i < 4;i++)
//	{
//		printf("%c", Word(arr[i]));
//	}
//	return 0;
//}
//#define ROW 4
//#define COL 20
//int main()
//{
//	char str[8][20] = { 0 };
//	int n = 0;
//	scanf("%d", &n);
//	for (int i = 0; i <n ; i++)
//	{
//		scanf(" %s", str[i]);
//	}
//	int i, j;
//	for (i = 0; i < ROW; i++)
//	{
//		for (j = 0; str[i][j] != '\0'; j++);
//		
//		printf("%c", str[i][j-1]);
//	}
//	printf("\n");
//
//	return 0;
//
//}
////int main()
////{
////	char* p = "hope";
////	printf("%c", *(p+0));
////}
////char* Poetry(const int n,char arr[8][20])
////{
////	static str[8] = { 0 };
////	
////
////	return str;
////}
////int main()
////{
////	char arr[8][20]={0};
////	int n = 0;
////	scanf("%d", &n);
////	for (int i = 0;i < n;i++)
////	{
////		gets(arr[i]);
////	}
////	printf("%s", Poetry(n,arr[8][20]));
////	return 0;
////}
////int main()
////{
////	int a[5];
////	printf("%d", sizeof(a));
////	inreturn 0;
////}
////int main()
////{
////	char color[20][10] = { 0 };
////	char str[10] = { 0 };
////	int i = 0;
////	while (scanf("%s", str))
////	{
////		if (str[0] == '#')
////			break;
////		else
////		{
////			strcpy(color[i++], str);
////		}
////	}
////	char tmp[10];
////	int j = 0;
////	for (j = 0;j < i-1;j++)
////	{
////		if (strlen(color[j]) > strlen(color[j + 1]))
////		{
////			strcpy(tmp, color[j]);
////			strcpy(color[j], color[j + 1]);
////			strcpy(color[j + 1], tmp);
////		}
////	}
////	for (j = 0;j < i;j++)
////	{
////		printf("%s ", color[j]);
////	}
////	return 0;
//}'
char* Sentence(int n, char(*p)[20])
{
	int a = 0;
	char* str = (char*)malloc(n+1);
	*(str + n) = '\0';
	for (int i = 0;i < n;i++)
	{
		int j = 0;
		while (p[i][j])
			j++;
		*(str+i) = p[i][j - 1];
	}
	return str;
}
int main()
{
	
	int n = 0;
	scanf("%d", &n);
	char arr[8][20] = { 0 };
	for (int i = 0;i < n;i++)
	{
		scanf(" %s", arr[i]);
	}
	char* ptr = Sentence(n, arr);
	printf("%s", ptr);
	free(ptr);
	return 0;
}